The present disclosure relates generally to a system and method for translating software code from one language to another language. More particularly, the present disclosure relates to a system and method for generating test code software utilized by a test machine for testing a circuit card assembly.
In commercial and military industries, test systems are often used to test various electrical equipment and electronics, such as circuit boards, hard drives, electrical components, semiconductors, integrated circuits, and other electrical hardware and devices. These test systems, also referred to as automated test equipment, automatically perform tests on a device based on instructions from test program software. When a legacy test system is replaced by a new test system, the test program run by the legacy test system must be converted to a language and format that is compatible with the new test system.
According to one illustrated embodiment of the present disclosure, a software translation method comprises receiving a first software code containing a first function command and data associated with the first function command, the first function command being configured to produce a first result, and associating at least one second function command in a second software code with the first function command. The method further comprises generating a third software code based on the first software code, the generating step including creating a hybrid function command based on the first function command, the hybrid function command including an interface to the at least one second function command of the second software code, and creating a case statement configured to associate the first function command of the first software code with the hybrid function command and to provide the data associated with the first function command to the hybrid function command, the hybrid function command being configured to produce the same first result as the first function command upon execution of the hybrid function command using the data associated with the first function command of the first software code provided by the case statement.
In one illustrated embodiment, the first software code is a test code utilized by a first test system for performing an operational test on a circuit card assembly and the second and third software codes are test codes utilized by a second test system for performing the operational test on the circuit card assembly. In one illustrated embodiment, the first result produced by the first function command and the hybrid function command includes at least one test operation of the operational test on the circuit card assembly.
In one illustrated embodiment, the second software code is an instrument code file configured to interact with testing instruments of the second test system to execute the at least one test operation on the circuit card assembly. In one illustrated embodiment, the associating step includes identifying at least one second function command in the second software code that is configured to cause the testing instruments of the second test system to perform at least a portion of the at least one test operation on the circuit card assembly. In another illustrated embodiment, the data associated with the first function includes the identification of at least one pin of the circuit card assembly, the at least one test operation being performed on the at least one pin of the circuit card assembly.
According to another illustrated embodiment of the present disclosure, a method of generating test code software utilized by a processor of a test machine for testing a circuit card is provided, the circuit card including a plurality of pins configured to connect to corresponding channels of the test machine. The method comprises receiving at least one input parameter, the at least one input parameter including a pin configuration of a circuit card, receiving a first test code referencing the pins of the circuit card in a first identification format, translating the first test code to generate a second test code, the second test code referencing the pins of the circuit card in a natural identification format not recognizable by the processor of the test machine, and associating each pin reference in the natural identification format with a pin reference in a second identification format based on the pin configuration of the circuit card, the second identification format being readable by the processor of the test machine.
In one illustrated embodiment, the associating step includes creating a first pinmap mapping each pin reference in the natural identification format to a corresponding pin reference in the second identification format. In one illustrated embodiment, the first pinmap maps the locations of an input pin, an output pin, and a power pin of the circuit card to the corresponding pin references in the second identification format. In another illustrated embodiment, each corresponding pin reference in the second identification format identifies a channel of the test machine connected to the pin of the circuit card identified by the corresponding pin reference in the natural identification format.
In one illustrated embodiment, the method further comprises generating a second pinmap based on the pin configuration of the circuit card and the channel configuration of the test machine, the second pinmap associating at least one channel of the test machine with a pin reference in a third identification format. In another illustrated embodiment, the test machine includes a graphical display configured to display the pin references in the third identification format based on the second pinmap.
According to yet another illustrated embodiment of the present disclosure, a software translation system comprises a first software code containing a first function command and data associated with the first function command, the first function command being configured to produce a first result, a second software code containing at least one second function command, and a translator configured to receive the first software code and to generate a third software code based on the first software code. The third software code includes a hybrid function command including an interface to the at least one second function command of the second software code. The third software code further includes a case statement associating the first function command of the first software code with the hybrid function command and being configured to provide the data associated with the first function command to the hybrid function command. The hybrid function command is configured to produce the same first result as the first function command upon execution of the hybrid function command using the data associated with the first function command of the first software code provided by the case statement.
According to yet another illustrated embodiment of the present disclosure, a test code generation system configured to generate test code software utilized by a processor of a test machine for testing a circuit card is provided, the circuit card including a plurality of pins configured to connect to corresponding channels of the test machine. The system comprises at least one input parameter identifying a pin configuration of a circuit card, a first test code referencing the pins of the circuit card in a first identification format, and a translator configured to receive the first test code and the at least one input parameter and to generate a second test code based on the first test code. The second test code references the pins of the circuit card in a natural identification format not recognizable by the processor of the test machine. The system further comprises a first pinmap mapping each pin reference in the natural identification format with a pin reference in a second identification format based on the pin configuration of the circuit card, the second identification format being readable by the processor of the test machine.
Additional features and advantages of the present invention will become apparent to those skilled in the art upon consideration of the following detailed description of illustrative embodiments exemplifying the best mode of carrying out the invention as presently perceived.
Corresponding reference characters indicate corresponding parts throughout the several views. Although the drawings represent embodiments of various features and components in the present disclosure, the drawings are not necessarily to scale and certain features may be exaggerated in order to better illustrate and explain the present disclosure. The exemplification set out herein illustrates embodiments of the disclosure, and such exemplifications are not to be construed as limiting the scope of the invention in any manner.